/*
 * Copyright (c) 2025 [ByteDance Ltd. and/or its affiliates.] and/or its affiliates
 * SPDX-License-Identifier: LGPL v2.1+
*/
#pragma once

#include <random>

class FFMathUtils {
public:
    /**
     * Get a random integer
     * @param min
     * @param max
     * @return
     */
    template<class IntType = int>
    static IntType random(IntType min, IntType max) {
        std::random_device dev;
        std::mt19937 rng(dev());
        std::uniform_int_distribution<std::mt19937::result_type> dist6(min, max);
        return dist6(rng);
    }
};
